package main

import "fmt"

func dealData(data interface{}) {
	t, ok := data.(string)
	//如果data ——> string ok-->true  t-->data值
	if ok {
		fmt.Println("当前类型为string", "变量的值是:", t)
	} else {
		fmt.Println("当前类型为非string")
		fmt.Println("当前t的值：", t)
	}
}

func getType(i interface{}) {
	switch t := i.(type) {
	case int:
		fmt.Println("当前值为int类型", t)
	case string:
		fmt.Println("当前值为string类型", t)
	case bool:
		fmt.Println("当前值为bool类型", t)
	default:
		fmt.Println("当前类型不在处理范围")
	}
}
func main() {
	//类型断言：大致知道了接口可能是某种类型，然后使用t,ok := i.(string)
	//类型查询： switch t := i.(string)

	s := 123456
	dealData(s)
	getType(s)
	getType("yangxu")
	var a interface{}
	getType(a)
}
